package com.ruoyi.user.mapper;

import com.ruoyi.user.domain.YmOrderEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.List;

/**
 * Mapper接口
 * 
 * @author zq
 * @date 2022-11-08
 */
public interface YmOrderMapper 
{
    /**
     * 查询
     * 
     * @param id 主键
     * @return 
     */
    public YmOrderEntity selectYmOrderById(@Param("id") Long id,@Param("uid") Long uid);

    /**
     * 查询列表
     * 
     * @param ymOrderEntity 
     * @return 集合
     */
    public List<YmOrderEntity> selectYmOrderList(YmOrderEntity ymOrderEntity);

    /**
     * 新增
     * 
     * @param ymOrderEntity 
     * @return 结果
     */
    public int insertYmOrder(YmOrderEntity ymOrderEntity);

    /**
     * 修改
     * 
     * @param ymOrderEntity 
     * @return 结果
     */
    public int updateYmOrder(YmOrderEntity ymOrderEntity);

    /**
     * 删除
     * 
     * @param id 主键
     * @return 结果
     */
    public int deleteYmOrderById(Long id);

    /**
     * 批量删除
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYmOrderByIds(Long[] ids);

    /**
     * 根据uid和ostate查出所关联的所有订单
     * @param uid ostate
     * @return
     */
    List<YmOrderEntity> selectYmOrdersByUidAndOstate(@Param("uid") Long uid, @Param("ostate") String ostate);

    /**
     * 查询该uid对应的用户是否存在未支付的订单
     * @param uid
     * @return
     */
    List<YmOrderEntity> selectYmOrdersByUidAndPaystate(Long uid);

    List<YmOrderEntity> selectUnPayOrderList(@Param("uid") long uid,@Param("oid") long oid);

    void updateYmOrderState(@Param("id") Long id,@Param("pay_state") int payState,@Param("ostate") int ostate);
}

